import { createStore } from 'vuex'
import axios from 'axios'
export default createStore({
  state: {
    list:[], // 所有的数据
    cartList:[], // 购物车的数据
  },
  mutations: {
    saveList(state,val){
      state.list = val
    },
    saveCart(state,val){ // 加入购物车的方法
      // console.log(val);
      let index = state.cartList.findIndex(item => item.id == val.id)
      // console.log(index);
      let obj = {
        ...val,
        ...{
          num: 1,
          check: false
        }
      }
      // console.log(obj);
      if (index>-1){
        state.cartList[index].num++;
        return
      }
      state.cartList.push(obj)
    },
    allCheck(state,bool){ // 全选的方法
      // console.log(bool);
      state.cartList.forEach(item => {
        item.check = bool
      })
    },
    delect(state){ // 批量删除
      // state.cartList = state.cartList.filter(item => item.check == false)
      state.cartList = state.cartList.filter(item => !item.check)

    }
  },
  actions: {
   async getList({commit}){ // 获取数据的方法
     let { data } = await axios.get('data.json')
     commit('saveList',data)
    }
  },
  modules: {
  }
})
